In many cases, with respect to computer systems, it is desirable to know the performance/resource consumption (e.g., central processing unit (CPU) cycles consumed) of a task or job performed by a given computer system. Ideally, one would like to run the task independently on the system and measure how much CPU time the task consumes. It may not be possible, however, to isolate the job or task on an individual system in order to make accurate measurements.
For example, suppose one has a protocol with many different steps and/or request types. One wants to know the overhead consumed by a particular step/request type. Since a realistic implementation of the protocol would involve many different steps/request types running on the same machine concurrently, it may be difficult or even impossible to isolate a single step/request type on a machine and realistically measure its performance. The net result is that one has to rely on approximations which can be inaccurate.